package ar.uba.fi.algo3.modelo.disparo;

import java.util.ArrayList;

import ar.uba.fi.algo3.auxiliares.Posicion;
import ar.uba.fi.algo3.modelo.CampoBatalla;
import ar.uba.fi.algo3.modelo.nave.ComponenteNave;
import ar.uba.fi.algo3.modelo.nave.Nave;

public class MinaSubmarinaPorContacto extends Mina{  
               
    private String nombre;
	public MinaSubmarinaPorContacto(Posicion unaPosicion, CampoBatalla unCampoBatalla){
    	
    	super(unaPosicion, unCampoBatalla);
    	this.darCosto(150);
    	this.posicion=unaPosicion;
    	this.nombre="minacontacto.jpg";
    }
     
    public boolean coincideCon(Posicion unaPosicion) {
    	
    	if(unaPosicion.esIgualA(this.posicion)){
    		this.disparar=true;
    		return true;               
        }       
        return false;
    }
    
    @Override
	public void tocaA(Nave nave) {
		
		ArrayList<ComponenteNave> componentesNave= nave.obtenerComponentes();
				
		for(ComponenteNave unaComponente : componentesNave){
	        
			if(this.coincideCon(unaComponente.getPosicion())){
	                                
				this.disparar(unaComponente);
	    		this.destruirDisparo();
				nave.tocaA(nave);
			} 		
		}	
	}		
    
    public Disparo crearDisparo(Posicion posicion, CampoBatalla campoBatalla) {

    	return new MinaSubmarinaPorContacto(posicion, campoBatalla);
	}
    
    @Override
	public String getNombre() {
		return nombre;
    }
    @Override
    public void efectua(Nave nave){}
}